package com.fowo.api.model.transaction.report.reconciliation;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 交易报告对账 导入导出辅助模型 */
@Getter
@Setter
public class TransactionReportReconciliationExcelPo {

  @Size(max = 50, message = "店铺长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "店铺")
  private String storeShopName;

  @ExcelIgnore
  @ExcelProperty(value = "店铺")
  private Long store;

  @Size(max = 50, message = "报告区间长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "报告区间")
  private String reportingInterval;

  @Size(max = 50, message = "对账结果长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "对账结果")
  private String reconciliationResults;

  @Size(max = 50, message = "币种长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "币种")
  private String currencyType;

  @NumberFormat("0.00")
  @ExcelProperty(value = "差异小计")
  private java.math.BigDecimal subtotalOfDifferences;

  @Size(max = 500, message = "差异原因分析长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "差异原因分析")
  private String analysisOfReasonsForDifferences;

  @NumberFormat("0.00")
  @ExcelProperty(value = "收入(S/T)")
  private java.math.BigDecimal revenue;

  @Size(max = 50, message = "差异长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "差异")
  private String difference;

  @NumberFormat("0.00")
  @ExcelProperty(value = "支出(S/T)")
  private java.math.BigDecimal expenditure;

  @NumberFormat("0.00")
  @ExcelProperty(value = "税费(S/T)")
  private java.math.BigDecimal taxesAndFees;

  @NumberFormat("0.00")
  @ExcelProperty(value = "转账(S/T)")
  private java.math.BigDecimal transfer;
}
